package com.cea.papyrus.core.presentation;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;

import com.cea.papyrus.core.presentation.providers.ExtendedPropertyItemProvider;

/**
 * Extension of the standard UMLItemProviderAdapterFactory for specific label providers
 */
public class UMLExtendedItemProviderAdapterFactory extends UMLItemProviderAdapterFactory {
	
	
	/**
	 * Creates a new UMLExtendedItemProviderAdapterFactory.
	 */
	public UMLExtendedItemProviderAdapterFactory() {
		super();
		// it does not provide more supported types
	}
	
	///////////////////////////////////////////////////////////////////////////
	// Overloaded Item provider
	///////////////////////////////////////////////////////////////////////////
	
	/* (non-Javadoc)
	 * @see org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory#createPropertyAdapter()
	 */
	@Override
	public Adapter createPropertyAdapter() {
		if (propertyItemProvider == null) {
			propertyItemProvider = new ExtendedPropertyItemProvider(this);
		}

		return propertyItemProvider;
	}
}
